public class BallState_BaseLine : AbstractBallState
{
	public static BallState_BaseLine instance;

	private BallState_BaseLine()
	{
	}

	public static BallState_BaseLine getInstance()
	{
		if (instance == null)
		{
			instance = new BallState_BaseLine();
		}
		return instance;
	}

	public override void enter(Ball owner)
	{
		base.enter(owner);
		owner.isInSomeOneHand = true;
		owner.pass_player_catch_ball.catch_is_normal_catch = true;
	}

	public override void fixedUpdate(Ball owner)
	{
		base.fixedUpdate(owner);
		if (!owner.isInSomeOneHand)
		{
			GameHelper.MoveTo(owner.myTransform, MathHelper.setY(owner.pass_player_catch_ball.getPosition(), 0.8f), Global.speed_ball_pass);
			if (MathHelper.getSqrDistance(MathHelper.setY(owner.getPosition(), 0f), owner.pass_player_catch_ball.getPosition()) <= 4f)
			{
				Instance<Court>.instance.do_playing();
				owner.pass_player_catch_ball.OnCatchBall();
			}
		}
	}

	public override void exit(Ball owner)
	{
		base.exit(owner);
		owner.isOutSide = false;
	}
}
